1. Field of the Invention
The present invention relates to data coding and decoding and, more particularly, to methods and systems for fast forward error correction (FFEC) coding and decoding.
2. Prior Art
Forward Error Correction (FEC) is a commonly used technique for transmitting data such that transmission errors may be minimized. FEC coding redundantly codes each bit to allow a receiving decoder to detect and correct transmission errors. FEC coding has several advantages over other types of error correction such as Automatic Request to Retransmit (ARQ). For one, FEC methods do not require that the data be retransmitted, possibly several times, before the data is received without error. This can greatly improve throughput of the transmission link. Also, since the receiver does not have to request retransmission it is possible to use one way or simplex data links and receive only terminals or devices.
However, in many systems or devices where the data is transmitted in a burst fashion, such as asynchronous transfer mode (ATM) packets, the data must be FEC decoded before the next packet arrives in order to timely retrieve control information. Yet most decoders, such as the commonly used Viterbi decoder, require initialization, which means that the first bits in a burst cannot be decoded unless a known preamble is used. In addition, initialization requires a finite period of time before being able to start to decode the data. Thus, decoding the data before the next transmission burst is received could severely strain the resources of the device if the time to fully decode the data is close to a burst length.
Not excluding another disadvantage, the FEC decoders have a limit as to the number of errors within a transmission for which they can correct. Thus, a burst transmission traveling over a channel may experience degradation across a substantial portion of the burst length, degradation for which a FEC decoder may not be able to correct for.
Therefore, it is desirable to provide a method and system for fast forward error correction coding and decoding that overcomes the disadvantages noted above.